package cn.tedu.api;
//测试 File工具类
import java.io.File;
import java.io.IOException;
import java.util.Arrays;

public class Test5_File {
    public static void main(String[] args) throws IOException {
        //1 创建对象----参数 是你要加载的路径
        File f = new File("F:\\你爸爸\\2.txt");
        //2 调用方法
        System.out.println(f.length());//获取文件字节量
        System.out.println(f.exists());//判断文件是否存在
        System.out.println(f.isFile());//判断是否是文件
        System.out.println(f.isDirectory());//判断是否为文件夹
        System.out.println(f.getName());//获取文件/文件夹名
        System.out.println(f.getParent());//获取父文件夹的路径
        System.out.println(f.getAbsolutePath());//获取稳健的完整路径
        //
//       // createNewFile();
        System.out.println(f.createNewFile());//创建新文件
//        delete()
        System.out.println(f.delete());//删除文件
//        mkdir();
        f = new File("F:\\你爸爸\\a");
        System.out.println(f.mkdir());
//        mkdirs()
        f = new File("F:\\你爸爸\\m\\n\\q");
        System.out.println(f.mkdirs());//新建 多层不存在的 文件夹
//        System.out.println(f.delete());//删除空的文件夹
        //
        f = new File("F:\\你爸爸");

        //列出文件资源，并把文件名存入 String[]
        String[] fs = f.list();
        System.out.println(Arrays.toString(fs));
        //列出文件资源，把每个资源封装成File对象存入File[]---推荐
        File[] fs2 = f.listFiles();
        System.out.println(Arrays.toString(fs2));


        //TODO 求文件夹里文件的总大小
        //1指定文件夹
        File f2 = new File("F:\\你爸爸");
        //2列出文件夹里的资源
        File[] fs3 = f2.listFiles();
        long sum =0;
        //加：遍历数组，获取每个资源a[i]
        for (int i = 0; i < fs3.length ; i++) {
            //3判断，是文件就求和
            if(fs3[i].isFile()){
                //求和
                sum=sum+fs3[i].length();
            }else if(fs3[i].isDirectory()){
                //4 判断，是文件夹就打印文件夹名
                System.out.println(fs3[i].getName());
            }
        }
        System.out.println(sum);
    }
}
